"""
__author__ = '霍格沃兹测试开发学社'
__desc__ = '更多测试开发技术探讨，请访问：https://ceshiren.com/t/topic/15860'
"""
from appium import webdriver

from app_practice.PO_pract.frame.base import Base
from app_practice.PO_pract.page.main_page import MainPage


class WeWorkApp(Base):

    def start(self):
        if self.driver == None:
            # 启动
            # 定义一个字典，建立连接需要用到的配置信息
            caps = {}
            caps["platformName"] = "Android"
            caps["deviceName"] = "hogwarts"
            # 获取app package ,app activity 命令
            # mac/linux: adb logcat ActivityManager:I | grep "cmp"
            # windwos:  adb logcat ActivityManager:I | findstr "cmp"
            caps["appPackage"] = "com.tencent.wework"
            caps["appActivity"] = ".launch.LaunchSplashActivity"
            # 在reset 的时候，不停止 app，也就是在启动应用的时候，不做关闭操作
            caps['dontStopAppOnReset'] = "true"
            # 防止清空登录信息
            caps["noReset"] = "true"
            # webdriver.Remote() 与服务端建立连接的关键的一步！！！！
            # 第一次建立连接的时候，driver 对象中，是包含 了我们需要测试的设备信息
            # 打开【企业微信】应用
            self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
            self.driver.implicitly_wait(10)
        else:
            # 启动之前启动过的app
            self.driver.launch_app()
            # self.driver.start_activity()
        return self

    def restart(self):
        self.driver.close_app()
        self.driver.launch_app()
        pass

    def stop(self):
        self.driver.quit()

    def goto_main(self):
        # 进入到主页
        return MainPage(self.driver)
